<?php

namespace Game\Helper;

class ElapsedTime
{   

    private $script_start;

    private $script_end;


    /**
     * Inicia o processo de verificar tempo de execução do script
     */
    public function start()
    {
        list($usec, $sec) = explode(' ', microtime());
        $this->script_start = (float) $sec + (float) $usec;
    }

    /**
     * Finaliza o processo de verificar tempo de execução do script
     */
    public function end()
    {
        list($usec, $sec) = explode(' ', microtime());
        $this->script_end = (float) $sec + (float) $usec;
    }

    /**
     * Mostra os resultados
     */
    public function show()
    {
        $elapsed_time = round($this->script_end - $this->script_start, 5);
        return 'Elapsed time: '. $elapsed_time. ' secs. Memory usage: '. round(((memory_get_peak_usage(true) / 1024) / 1024), 2). "Mb\n";
    }
}
